﻿namespace FluentAvalonia.UI.Controls
{
	/// <summary>
	/// Defines the compact view for command bar elements.
	/// </summary>
	public interface ICommandBarElement
	{
		/// <summary>
		/// Gets or sets a value that indicates the order in which a primary command 
		/// in a CommandBar should be moved to the overflow menu when there is not 
		/// enough room to display all primary commands.
		/// </summary>
		int DynamicOverflowOrder { get; set; }

		/// <summary>
		/// Gets or sets a value that indicates whether the element is shown with no 
		/// label and reduced padding.
		/// </summary>
		bool IsCompact { get; set; }

		/// <summary>
		/// Gets a value that indicates whether the CommandBar command is currently 
		/// located in the overflow menu.
		/// </summary>
		bool IsInOverflow { get; }
	}
}
